package com.service.impl;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.DefaultTableModel;

import com.bean.Field;
import com.bean.Table;
import com.common.ConfigParam;
import com.common.FrameUtil;
import com.dao.FieldDao;
import com.service.IFieldService;

public class FieldServiceImpl implements IFieldService {

	private boolean oprate = ConfigParam.handleData();

	/**
	 *
	 * 根据条件查询数据，重新加载 model
	 *
	 * @param model
	 * @param table 查询的表名
	 * @param field 查询的字段名
	 */
	public List<Field> loadModelData(DefaultTableModel model, String table, String field) {

		Table objT = new TableServiceImpl().getByName(table);
		if(null == objT){
			FrameUtil.refreshTableModelData(model, new ArrayList<Object[]>());
			return new ArrayList<Field>();
		}

		List<Field> datas = new FieldDao().query(objT.getId(), field);
		List<Object[]> dataArrList = new ArrayList<Object[]>();
		for(Field obj : datas){
			dataArrList.add(obj.getArr());
		}
		FrameUtil.refreshTableModelData(model, dataArrList);

		return datas;
	}

	/**
	 * 新增表单记录
	 * @param obj
	 * @return
	 */
	public boolean add(Field obj){
		if(oprate)
			return new FieldDao().add(obj);
		return false;
	}

	/**
	 * 获取实体bean
	 * @param id
	 * @return
	 */
	public Field get(Long id){
		return new FieldDao().get(id);
	}

	/**
	 * 修改实体bean
	 * @param obj
	 * @return
	 */
	public boolean update(Field obj){
		if(oprate)
			return new FieldDao().update(obj);
		return false;
	}

	public boolean del(Long id){
		if(oprate)
			return new FieldDao().del(id);
		return false;
	}
}
